#ifndef __APP_BT_H__
#define __APP_BT_H__
#include "app_device.h"

typedef enum
{
    BT_9600 = '4',
    BT_115200 = '8'
} BTBaudRate;
/**
 * @brief 初始化
 *
 * @param device
 */
int app_bt_Init(Device *device);

/**
 * @brief 向蓝牙写入数据前的处理
 *
 * @param data 待写入的数据
 * @param len 数据长度
 * @return int 成功：写入的数据长度，失败：-1
 */
int app_bt_preWrite(char *data, int len);

/**
 * @brief 读取蓝牙数据后的处理
 *
 * @param data_buf 保存数据的缓冲区
 * @param len 缓冲区的长度
 * @return int 成功：读取的数据长度，失败：-1
 */
int app_bt_postRead(char *data_buf, int len);

/**
 * 测试蓝牙是否可用
 */
int app_bt_status(Device *device);

/**
 * 修改蓝牙名称
 */
int app_bt_rename(Device *device, char *name);

/**
 * 设置波特率
 */
int app_bt_setBaudRate(Device *device, BTBaudRate baud_rate);

/**
 * 启动蓝牙
 */
int app_bt_reset(Device *device);

/**
 * 设置组网id
 * net_id: 4位16进制字符串
 */
int app_bt_setNetId(Device *device, char *net_id);

/**
 * 设置MAC地址
 * maddr: 4位16进制字符串
 */
int app_bt_setMAddr(Device *device, char *maddr);

#endif
